package cn.tedu.net.collection.collection;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.LinkedList;
import java.util.List;

//本类用于测试LinkedList
public class Test6_LinkedList {
    public static void main(String[] args) {
        List<String> list=new LinkedList<>();
        list.add("孙悟空");
        list.add("猪八戒");
        list.add("沙和尚");
        list.add("唐三藏");
        list.add("小白龙");
        System.out.println(list);//[孙悟空, 猪八戒, 沙和尚, 唐三藏, 小白龙]
        //3.1 自行测试从collection




        //测试LinkedLast特有的方法
        ((LinkedList<String>) list).addFirst("黑熊精");//添加首元素  向下转型
        LinkedList<String> list1=(LinkedList<String>) list;
        list1.addLast("蜘蛛精");//添加尾元素
        System.out.println(list1);
        System.out.println(list1.getFirst());//获取首元素
        System.out.println(list1.getLast());//获取尾元素
        System.out.println(list1.removeFirst());//移除首元素
        System.out.println(list1);
        System.out.println(list1.removeLast());//移除尾元素
        System.out.println(list1);
        //其他测试
        //创建对象
        LinkedList<String> list2= new LinkedList<>();
        list2.add("西游记");
        list2.add("水浒传");
        list2.add("三国演义");
        list2.add("红楼梦");
        System.out.println(list2);
        //查询系列
        System.out.println(list2.element());//获取首元素
        System.out.println(list2);
        System.out.println(list2.peek());//获取首元素
        System.out.println(list2);
        System.out.println(list2.peekFirst());//获取首元素
        System.out.println(list2.peekLast());//获取尾元素
        System.out.println(list2);
        //新增系列
        System.out.println(list2.offer("完美世界"));
        System.out.println(list2.offerFirst("遮天"));
        System.out.println(list2.offerLast("斗罗大陆"));
        System.out.println(list2);
        System.out.println(list2.poll());//删除元素,头部
        System.out.println(list2.pollFirst());//删除元素,头部
        System.out.println(list2.pollLast());//删除元素,尾部
        System.out.println(list2);

    }
}
